Practical Algorithms for Incremental Software Development Environments

نویسنده

  • Tim A. Wagner
چکیده

ion: Clients should be able to view the program (or any subset of it) with or without whitespace, and both viewsshould be equally efficient to produce. Flexibility: The representation should be independent of the language, the whitespace model, the number and types ofwhitespace categories, and the mechanisms by which they are specified and discovered during lexical anal-ysis. The implementation is straightforward: each contiguous sequence of whitespace tokens is represented as a balancedbinary tree. (Often this ‘tree’ will consist of a single whitespace token.) The sequence is logically associated with the pre-ceding token that represents an instance of a terminal symbol in the grammar. An additional connector node is introducedto serve as the parent of the both the preceding terminal and the root of the whitespace sequence. Figure C.1 illustratesthe arrangement. Whitespace at the beginning of the program follows the bos sentinel token (Figure 3.2), maintaininguniformity in the representation.3This approach meets all the criteria described above. Ordering is obviously maintained; the original program text canbe reconstituted simply by walking the tree, inspecting the content of each lexeme encountered. Clients can navigate white-space sequences with the same structural operations used elsewhere in the program, and whitespace tokens are implementedin the same fashion as other nodes. 3The use of out-of-context parsing for error recovery requires the ability to re-attach and merge whitespace sequences, which is supported effectivelyby the representation described here. Section 8.5.2 discusses the interaction between out-of-context analysis and the presence of extra-grammatical tokensin more detail. C.2. INTEGRATING WHITESPACE WITH THE PROGRAM STRUCTURE127

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Modelling and implementation issues in circuit and network planning tools

This thesis consists of studies of modelling and implementation issues for planning tool development. In particularly it emphasizes issues that are relevant for practical, industrial use of mathematical models and algorithms. Using a circuit design and a network planning tool as concrete examples the thesis analyses the practical issues of the development and maintenance of such systems and, es...

متن کامل

A User-Centered Methodology to Generate Visual Modeling Environments

CASE tools supporting many activities of the software development process embed visual modeling environments. Indeed, visual languages are practical means to allow engineers to define models and different views of software systems. However the effectiveness of visual modeling environments strongly depends from the process and tools used for their development. In this paper we present a user-cen...

متن کامل

Ravages of Time: Synchronized Multimedia for Internet-Wide Process-Centered Software Engineering Environments

The emergence of Internet-based software engineering projects and of multimedia software development artifacts introduces new opportunities and challenges for team software development environments, particularly process-centered environments. It is becoming increasingly inexpensive to make audio/video recordings of requirements elicitation meetings with customers, architectural design meetings ...

متن کامل

Building Concept (Galois) Lattices from Parts: Generalizing the Incremental Methods

Formal concept analysis and Galois lattices in general are increasingly used as a framework for the resolution of practical problems from software engineering, knowledge engineering and data mining. Recent applications have put the emphasis on the need for both eecient, scalable and exible algorithms to build the lattice. Such features are sought in the development of incremental algorithms. Ho...

متن کامل

Incremental Specification and Analysis in the Context of Coloured Petri Nets

Incremental development involves creating a new specification or implementation by modifying an existing one. This is a commonly used technique for handling complex systems in hardware and software engineering. In fact, incremental development is fundamental to object-orientation, the widely adopted approach to software engineering which uses the mechanism of inheritance. Incremental developmen...

متن کامل

Title: Modelling and Implementation Issues in Circuit and Network Planning Tools Modelling and Implementation Issues in Circuit and Network Planning Tools

This thesis consists of studies of practical, industrial use of mathematical models and algorithms. Its focus is on modelling and implementation issues of planning tools on the engineering domain. Using a circuit design and a network planning tool as concrete examples the thesis analyses the practical issues of the development and maintenance of such systems and, especially, how models and algo...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1997